/***********************************************************************\
*                                                                       *
* This file was created by Component Internal Interface Engine software *
*  Copyright(c) 2000-2012 by Krzysztof Pozniak (pozniak@ise.pw.edu.pl)  *
*                           All Rights Reserved.                        *
*                                                                       *
\***********************************************************************/

package cii_kx1_car3;

import cii_lib.*;

public class CCII_MOD_DEL {

  public CCII_COMPONENT _CII_MOD_DEL;

  public static class CTLIST_MODEL {
    private static class _CLIST_MODEL {
      int[] _REG=new int[1];
      int[] _CNT=new int[1];
      int[] _DPM=new int[1];
      int[] _CII_DPM=new int[1];
      _CLIST_MODEL() {
      _REG[0]=0;
      _CNT[0]=1;
      _DPM[0]=2;
      _CII_DPM[0]=3;
      }
    }
    private static final _CLIST_MODEL _LIST_MODEL=new _CLIST_MODEL();
    public CCII_ACCESS_SYMBLIST_ITEM REG;
    public CCII_ACCESS_SYMBLIST_ITEM CNT;
    public CCII_ACCESS_SYMBLIST_ITEM DPM;
    public CCII_ACCESS_SYMBLIST_ITEM CII_DPM;
    CTLIST_MODEL() {
      REG=new CCII_ACCESS_SYMBLIST_ITEM("REG",1,_LIST_MODEL._REG);
      CNT=new CCII_ACCESS_SYMBLIST_ITEM("CNT",1,_LIST_MODEL._CNT);
      DPM=new CCII_ACCESS_SYMBLIST_ITEM("DPM",1,_LIST_MODEL._DPM);
      CII_DPM=new CCII_ACCESS_SYMBLIST_ITEM("CII_DPM",1,_LIST_MODEL._CII_DPM);
    }
  }
  public static class CLIST_MODEL extends CCII_ACCESS_CONST {
    private CTLIST_MODEL _Item;
    public CLIST_MODEL(String name, int size) { super(name, size); _Item = new CTLIST_MODEL();}
    public CTLIST_MODEL Item() {return(_Item);};
  }
  public static final CLIST_MODEL LIST_MODEL = new CLIST_MODEL("LIST_MODEL",4);

  public class CMPAR_MODEL extends CCII_ACCESS_MPAR {
    public CMPAR_MODEL(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCII_MOD_DEL.CLIST_MODEL GetList() {return(CCII_MOD_DEL.LIST_MODEL);}
  };
  private CMPAR_MODEL _MPAR_MODEL;
  private CCII_ACCESS_IPAR _IPAR_DATA_WIDTH;
  private CCII_ACCESS_IPAR _IPAR_DEL_LENGTH;
  private CCII_ACCESS_IPAR _IPAR_DEL_WIDTH;
  public class CMPAR_CLK_ENA_CII extends CCII_ACCESS_MPAR {
    public CMPAR_CLK_ENA_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_CLK_ENA_CII _MPAR_CLK_ENA_CII;
  private CCII_ACCESS_LPAR _LPAR_INPUT_REG;
  private CCII_ACCESS_LPAR _LPAR_OUTPUT_REG;
  public class CMPAR_LENGTH_CII extends CCII_ACCESS_MPAR {
    public CMPAR_LENGTH_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_LENGTH_CII _MPAR_LENGTH_CII;
  private CCII_ACCESS_IR _BITS_CLK_ENA;
  private CCII_ACCESS_IR _WORD_LENGTH;
  private CCII_REG_DEL[] _COMP_DEL_REG;
  private CCII_CNT_DEL[] _COMP_DEL_CNT;
  private CCII_DPM_DEL[] _COMP_DEL_DPM;
  public CCII_MOD_DEL(CCII_TABLE_INDEX itab, int cidx, CCII_INTERFACE interf, CCII_COMPONENT parent) {
    _CII_MOD_DEL=new CCII_COMPONENT(itab,cidx,parent);
    _MPAR_MODEL=null;
    _IPAR_DATA_WIDTH=null;
    _IPAR_DEL_LENGTH=null;
    _IPAR_DEL_WIDTH=null;
    _MPAR_CLK_ENA_CII=null;
    _LPAR_INPUT_REG=null;
    _LPAR_OUTPUT_REG=null;
    _MPAR_LENGTH_CII=null;
    _BITS_CLK_ENA=null;
    _WORD_LENGTH=null;
    _COMP_DEL_REG=null;
    _COMP_DEL_CNT=null;
    _COMP_DEL_DPM=null;
    int _cnum_;
    if(_CII_MOD_DEL.Number()==0) return;
    _MPAR_MODEL = new CMPAR_MODEL(itab,_CII_MOD_DEL);
    _IPAR_DATA_WIDTH = new CCII_ACCESS_IPAR(itab,_CII_MOD_DEL);
    _IPAR_DEL_LENGTH = new CCII_ACCESS_IPAR(itab,_CII_MOD_DEL);
    _IPAR_DEL_WIDTH = new CCII_ACCESS_IPAR(itab,_CII_MOD_DEL);
    _MPAR_CLK_ENA_CII = new CMPAR_CLK_ENA_CII(itab,_CII_MOD_DEL);
    _LPAR_INPUT_REG = new CCII_ACCESS_LPAR(itab,_CII_MOD_DEL);
    _LPAR_OUTPUT_REG = new CCII_ACCESS_LPAR(itab,_CII_MOD_DEL);
    _MPAR_LENGTH_CII = new CMPAR_LENGTH_CII(itab,_CII_MOD_DEL);
    _BITS_CLK_ENA = new CCII_ACCESS_IR(itab,interf,_CII_MOD_DEL);
    _WORD_LENGTH = new CCII_ACCESS_IR(itab,interf,_CII_MOD_DEL);
    _COMP_DEL_REG = new CCII_REG_DEL[_cnum_=Math.max(itab.GetItem().Repeat,1)];
    for (int count=0; count<_cnum_; count ++)
      _COMP_DEL_REG[count]=new CCII_REG_DEL(itab,count,interf,_CII_MOD_DEL);
    _COMP_DEL_CNT = new CCII_CNT_DEL[_cnum_=Math.max(itab.GetItem().Repeat,1)];
    for (int count=0; count<_cnum_; count ++)
      _COMP_DEL_CNT[count]=new CCII_CNT_DEL(itab,count,interf,_CII_MOD_DEL);
    _COMP_DEL_DPM = new CCII_DPM_DEL[_cnum_=Math.max(itab.GetItem().Repeat,1)];
    for (int count=0; count<_cnum_; count ++)
      _COMP_DEL_DPM[count]=new CCII_DPM_DEL(itab,count,interf,_CII_MOD_DEL);
  }
  public CCII_COMPONENT CII_MOD_DEL() {return(_CII_MOD_DEL.Number()==0?null:_CII_MOD_DEL);};
  public CMPAR_MODEL MPAR_MODEL() {return(_MPAR_MODEL);};
  public CCII_ACCESS_IPAR IPAR_DATA_WIDTH() {return(_IPAR_DATA_WIDTH);};
  public CCII_ACCESS_IPAR IPAR_DEL_LENGTH() {return(_IPAR_DEL_LENGTH);};
  public CCII_ACCESS_IPAR IPAR_DEL_WIDTH() {return(_IPAR_DEL_WIDTH);};
  public CMPAR_CLK_ENA_CII MPAR_CLK_ENA_CII() {return(_MPAR_CLK_ENA_CII);};
  public CCII_ACCESS_LPAR LPAR_INPUT_REG() {return(_LPAR_INPUT_REG);};
  public CCII_ACCESS_LPAR LPAR_OUTPUT_REG() {return(_LPAR_OUTPUT_REG);};
  public CMPAR_LENGTH_CII MPAR_LENGTH_CII() {return(_MPAR_LENGTH_CII);};
  public CCII_ACCESS_IR BITS_CLK_ENA() {return(_BITS_CLK_ENA);};
  public CCII_ACCESS_IR WORD_LENGTH() {return(_WORD_LENGTH);};
  public CCII_REG_DEL COMP_DEL_REG(int num) {return(_COMP_DEL_REG[num].CII_REG_DEL()==null?null:_COMP_DEL_REG[num]);};
  public CCII_CNT_DEL COMP_DEL_CNT(int num) {return(_COMP_DEL_CNT[num].CII_CNT_DEL()==null?null:_COMP_DEL_CNT[num]);};
  public CCII_DPM_DEL COMP_DEL_DPM(int num) {return(_COMP_DEL_DPM[num].CII_DPM_DEL()==null?null:_COMP_DEL_DPM[num]);};
}
